// mapGen.h
// 25 September 2011
// Purpose: Header for MapGen class

#ifndef MAPGEN_H_
#define MAPGEN_H_
class MapGen
{
public:
	MapGen();	// Default Constructor,creates a random maze of random size
	MapGen(int, int);					// Two Parameter Constructor, specifies height and width
	int getW() const;//returns width of map
	int getH() const;//returns height of map

	struct coordinate & getStart() const;//returns starting position of map

	struct coordinate & getFinish() const;//returns finish position of map
	
	int * & getMap() const;//returns a constant reference of our _map member varible. We need this for our map assignment operator.

	struct coordinate //coordinate struct which has an _x and _y value
	{
	int _x;//x position
	int _y;//y position
	};
private:
	struct coordinate start;//starting position of map
	struct coordinate finish;//finish position of map
	int _w;//width of maze
	int _h;//height of maze
	int * _map;//2d array
};

#endif // MAPGEN_H_